package com.freshman_registration.service;

import com.freshman_registration.pojo.Admins;
import com.freshman_registration.util.Result;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import jakarta.servlet.http.HttpServletResponse;
import org.apache.ibatis.annotations.Param;

import java.io.IOException;
import java.util.List;

public interface AdminService {
    //    根据工号查询管理员
    Result<Admins> queryAdminByWorkNo(String workNo);

    //  添加管理员信息
    Result<?> insertAdmin(Admins admin);
    //修改管理员信息

    Result<?> updateAdmin(Admins admin);

    //删除管理员信息
    Result<?> deleteAdmin(Integer id);

    //分页查询所有管理员信息
    Page queryAllAdmins(Integer currentPage, Integer pageSize);

    //管理员登录
    Result<?> login(String workNo, String password);

    //excel文件导出
    void exportExcel(HttpServletResponse response);


    //excel文件导入
    void importTemplate(HttpServletResponse response) throws IOException;

    //根据状态或用户名分页
    PageInfo<Admins> queryAdmins(Integer status, String username, Integer currentPage, Integer pageSize);

    //批量删除
    Result<?> deleteBatch(List<Integer> ids);
    //状态更新
    Result<Integer> updateStatus(@Param("id") Integer id,
                                 @Param("status") String status);
    //修改密码
    Result<?> updatePassword(@Param("id") Integer id,@Param("password") String password);
}
